package com.longchat.service.inter.system;


import java.util.List;

import javax.management.relation.RoleInfo;

import com.longchat.dto.comm.DatatablesPageViewInfo;
import com.longchat.dto.comm.ResultInfo;
import com.longchat.dto.comm.ZtreeInfo;
import com.longchat.dto.system.RoleMaintainInfo;
import com.longchat.dto.system.RolesQueryInfo;
import com.longchat.utils.vo.TypeInfo;

public interface IRoleService {
	/*
	 * 查询角色列表
	 */
	public DatatablesPageViewInfo<RoleInfo> queryRoles(RolesQueryInfo info);
	
	/**
	 * 增加角色
	 * @param info
	 * @return
	 */
	public ResultInfo addRole(RoleMaintainInfo info);
	
	/**
	 * 修改角色状态
	 * @param roleId
	 * @param status
	 * @return
	 */
	public ResultInfo updateRoleStatus(String roleId,String status);

	/**
	 * 修改角色信息
	 * @param info
	 * @return
	 */
	public ResultInfo updateRole(RoleMaintainInfo info);
	
	/**
	 * 根据角色id查找权限列表
	 * @param roleId
	 * @return
	 */
	public List<ZtreeInfo> queryPermissionBy(String roleId,String userName,boolean isCustomer);
	/**
	 * 设置角色权限
	 */
	public ResultInfo setPermission(String roleId,String permssions);

	/**
	 * 客户查询自己创建的角色
	 * @param isCustomer
	 * @return
	 */
	public List<TypeInfo> queryUserRole(String userName);
}

